/**
 * 根据字典键和值返回匹配的字典值
 * @param {string} dictKey - 字典键
 * @param {string} dictValue - 字典值
 * @returns {string} - 匹配的字典值
 */
function getDictValueByKey(dictKey, dictName) {
	const dictList = uni.getStorageSync('DICT_SESSION') || [];
	// console.info("缓存数据：" + JSON.stringify(dictList)); // 打印缓存数据
	const dictItem = dictList.find(item => item.dictCode === dictKey && item.dictName === dictName);
	// console.info("dictItem:"+JSON.stringify(dictItem));
	if (dictItem) {
		// 如果找到匹配的字典项，直接返回 dictValue
		return dictItem.dictValue;
	}
	return dictValue; // 如果未找到字典项，返回原值
}


/**
 * 从字典缓存中获取指定 dictCode 的列表
 * @param {String} dictCode - 字典代码
 * @returns {Array} - 返回匹配的字典项列表
 */
function getDictListByCode(dictCode) {
	const dictSession = uni.getStorageSync('DICT_SESSION') || [];
	return dictSession.filter(item => item.dictCode === dictCode);
}

/**
 * 表单验证
 * @param data
 * @param rules
 * @returns {string|null|*}
 */
function validateForm(data, rules) {
	for (const rule of rules) {
		const value = data[rule.field];

		// 检查是否必填
		if (rule.required && (value === undefined || value === null || value === '')) {
			return `${rule.label}是必填项`;
		}

		// 自定义验证函数
		if (rule.validator && typeof rule.validator === 'function') {
			const error = rule.validator(value);
			if (error) {
				return error;
			}
		}
	}
	return null;
}

/**
 * 预览图片
 * @param index
 * @param imgArray
 * @param imgItem
 */
function previewImage(imgArray,index) {
	uni.previewImage({
		urls: imgArray,
		current: imgArray[index]
	})
}

/**
 * 删除图片
 * @param index
 * @param imgArray
 */
function deleteImage(imgArray,index) {
	console.info("index:"+index+","+JSON.stringify(imgArray));
	imgArray.splice(index, 1)
};

export default {
	getDictValueByKey,
	getDictListByCode,
	validateForm,
	previewImage,
	deleteImage
};